import Vue from 'vue'
import Vuex from 'vuex'
// 导入获取用户信息的方法
import { getUserInfoApi } from '@/api/au.js'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 定义用户信息
    userInfo: '',
    // 定义一个用户登录状态
    isLogin: false,
    // 定义一个性别的对象
    genderObj: {
      0: '未知',
      1: '男孩子',
      2: '女孩子'
    }
  },
  mutations: {
    // 给用户信息赋值
    setUserInfo (state, payload) {
      state.userInfo = payload
    },
    // 修改用户的登录状态
    setIsLogin (state, payload) {
      state.isLogin = payload
    }
  },
  actions: {
    // 发送网络请求到服务器，得到用户信息，将用户信息保存到 state.userInfo 中
    async setUserInfo (context) {
      // 得到用户信息
      const res = await getUserInfoApi()
      // 将用户信息保存起来
      context.commit('setUserInfo', res.data)
    }
  },
  modules: {}
})
